package com.snowfield.lb47.lbconfig.mapper;

import java.util.List;

import com.snowfield.lb47.lbconfig.domain.BlackwhiteListDetail;
import org.apache.ibatis.annotations.Param;

/**
 * 黑白名单详情Mapper接口
 *
 * @author snowfield
 * @date 2024-05-24
 */
public interface BlackwhiteListDetailMapper {
    /**
     * 查询黑白名单详情
     *
     * @param id 黑白名单详情主键
     * @return 黑白名单详情
     */
    public BlackwhiteListDetail selectBlackwhiteListDetailById(Long id);

    /**
     * 查询黑白名单详情列表
     *
     * @param blackwhiteListDetail 黑白名单详情
     * @return 黑白名单详情集合
     */
    public List<BlackwhiteListDetail> selectBlackwhiteListDetailList(BlackwhiteListDetail blackwhiteListDetail);

    /**
     * 新增黑白名单详情
     *
     * @param blackwhiteListDetail 黑白名单详情
     * @return 结果
     */
    public int insertBlackwhiteListDetail(BlackwhiteListDetail blackwhiteListDetail);

    /**
     * 修改黑白名单详情
     *
     * @param blackwhiteListDetail 黑白名单详情
     * @return 结果
     */
    public int updateBlackwhiteListDetail(BlackwhiteListDetail blackwhiteListDetail);

    /**
     * 删除黑白名单详情
     *
     * @param id 黑白名单详情主键
     * @return 结果
     */
    public int deleteBlackwhiteListDetailById(Long id);

    /**
     * 批量删除黑白名单详情
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteBlackwhiteListDetailByIds(Long[] ids);

    /**
     * 根据黑白名单ID批量删除黑白名单详情
     *
     * @param listIds 需要删除的数据的黑白名单ID集合
     * @return 结果
     */
    public int deleteBlackwhiteListDetailByListIds(Long[] listIds);

    /**
     * 查询黑白名单详情
     *
     * @param listId 黑白名单主键
     * @param ipaddr ip地址
     * @return 黑白名单详情
     */
    public BlackwhiteListDetail selectBlackwhiteListDetailByIpaddr(@Param(value = "listId")  Long listId, @Param(value = "ipaddr") String ipaddr);

}
